The use of remote program execution and storage services has proliferated in recent years. The resources for remote program execution and storage are often provided by computing resource providers who leverage large-scale networks of computers, servers and storage drives to enable clients, including content providers, online merchants and the like, to host and execute a variety of applications and web services. The content providers and online merchants, who traditionally used on-site servers and storage equipment to host their websites and store and stream content to their customers, often forego on-site hosting and storage and turn to using the resources of the computing resource providers. Remote program execution and storage services allow content providers and online merchants, among others, to efficiently and adaptively satisfy their computing needs, whereby the computing and storage resources used by the content providers and online merchants are added or removed from a large pool provided by a computing resource provider as needed.
It is important for the users of remote storage services to be able to efficiently and timely upload their data to storage volumes in the remote storage service. Further, it is also important that data processing and uploading not overwhelm the computing resources of the computing devices of the users.